package com.ruoyi.system.service;

import com.ruoyi.common.core.domain.entity.School;

import java.util.List;

public interface ISchoolService {
    /**
     * 根据条件分页查询学校数据
     *
     * @param School 学校信息
     * @return 学校数据集合信息
     */
    List<School> selectSchoolList(School School);


    /**
     * 查询所有学校
     *
     * @return 学校列表
     */
    List<School> selectSchoolAll();


    /**
     * 通过学校ID查询学校
     *
     * @param SchoolId 学校ID
     * @return 学校对象信息
     */
    School selectSchoolById(Long SchoolId);


    /**
     * 校验学校是否允许操作
     *
     * @param School 学校信息
     */
    void checkSchoolAllowed(School School);



    /**
     * 新增保存学校信息
     *
     * @param School 学校信息
     * @return 结果
     */
    int insertSchool(School School);

    /**
     * 修改保存学校信息
     *
     * @param School 学校信息
     */
    void updateSchool(School School);

    /**
     * 修改学校状态
     *
     * @param School 学校信息
     * @return 结果
     */

    int updateSchoolStatus(School School);

    /**
     * 修改数据权限信息
     *
     * @param School 学校信息
     * @return 结果
     */
    int authDataScope(School School);

    /**
     * 批量删除学校信息
     *
     * @param SchoolIds 需要删除的学校ID
     * @return 结果
     */
    int deleteSchoolByIds(Long[] SchoolIds);

    /**
     * 导入学校数据
     *
     * @param list          学校数据列表
     * @param updateSupport 是否更新支持，如果已存在，则进行更新数据
     * @param operaName      操作用户名称
     * @return 结果
     */
    String importSchool(List<School> list, boolean updateSupport, String operaName);

}
